Reyes Rendering
   HOME

TheInfoList



OR:

Reyes rendering is a computer software architecture used in
3D computer graphics 3D computer graphics, or “3D graphics,” sometimes called CGI, 3D-CGI or three-dimensional computer graphics are graphics that use a three-dimensional representation of geometric data (often Cartesian) that is stored in the computer for th ...
to render photo-realistic images. It was developed in the mid-1980s by
Loren Carpenter Loren C. Carpenter (born February 7, 1947) is a computer graphics researcher and developer. Biography He was a co-founder and chief scientist of Pixar Animation Studios. He is the co-inventor of the Reyes rendering algorithm and is one of the ...
and
Robert L. Cook Robert L. Cook (December 10, 1952) is a computer graphics researcher and developer, and the co-creator of the RenderMan rendering software. His contributions are considered to be highly influential in the field of animated arts. In 2009, Cook ...
at
Lucasfilm Lucasfilm Ltd. LLC is an American film and television production company and a subsidiary of Walt Disney Studios, which is a business segment of The Walt Disney Company. The studio is best known for creating and producing the ''Star Wars'' and ' ...
's Computer Graphics Research Group, which is now
Pixar Pixar Animation Studios (commonly known as Pixar () and stylized as P I X A R) is an American computer animation studio known for its critically and commercially successful computer animated feature films. It is based in Emeryville, Californi ...
. It was first used in 1982 to render images for the ''Genesis effect'' sequence in the movie '' Star Trek II: The Wrath of Khan''. Pixar's
RenderMan The name RenderMan can cause confusion because it has been used to refer to different things developed by Pixar Animation Studios: * RenderMan Interface Specification (RISpec), an open API (technical specification) developed by Pixar for a standard ...
was one implementation of the Reyes algorithm, until its removal in 2016. According to the original paper describing the algorithm, the Reyes image rendering system is "An architecture for fast high-quality rendering of complex images." Reyes was proposed as a collection of algorithms and data processing systems. However, the terms "algorithm" and "architecture" have come to be used synonymously in this context and are used interchangeably in this article.


Name

''Reyes'' is an acronym for ''Renders Everything You Ever Saw'' (the name is also a pun on
Point Reyes Point Reyes (, meaning "Point of the Kings") is a prominent cape and popular Northern California tourist destination on the Pacific coast. Located in Marin County, it is approximately west-northwest of San Francisco. The term is often applied ...
, California, near where Lucasfilm was located) and is suggestive of processes connected with optical imaging systems. According to
Robert L. Cook Robert L. Cook (December 10, 1952) is a computer graphics researcher and developer, and the co-creator of the RenderMan rendering software. His contributions are considered to be highly influential in the field of animated arts. In 2009, Cook ...
, Reyes is written with only the first letter capitalized, as it is in the 1987 Cook/Carpenter/Catmull SIGGRAPH paper.


Architecture

The architecture was designed with a number of goals in mind: *Model complexity/diversity: In order to generate visually complex and rich images, users of a rendering system need to be free to model large numbers (100,000s) of complex geometric structures possibly generated using procedural models such as fractals and
particle system A particle system is a technique in game physics, motion graphics, and computer graphics that uses many minute sprites, 3D models, or other graphic objects to simulate certain kinds of "fuzzy" phenomena, which are otherwise very hard to repr ...
s. *Shading complexity: Much of the visual complexity in a scene is generated by the way in which light rays interact with solid object surfaces. Generally, in computer graphics, this is modelled using textures. Textures can be colored arrays of pixels, describe surface displacements or transparency or surface reflectivity. Reyes allows users to incorporate procedural shaders whereby surface structure and optical interaction is achieved using computer programs implementing procedural algorithms rather than simple look-up tables. A good portion of the algorithm is aimed at minimising the time spent by processors fetching textures from data stores. *Minimal ray tracing: At the time that Reyes was proposed, computer systems were significantly less capable in terms of processing power and storage. This meant that ray tracing a photo-realistic scene would take tens or hundreds of hours per frame. Algorithms such as Reyes which didn't generally ray trace run much faster with almost photo-realistic results. *Speed: Rendering a two-hour movie at 24 frames per second in one year allows 3 minutes rendering time per frame, on average. *Image quality: Any image containing unwanted, algorithm-related artifacts is considered unacceptable. *Flexibility: The architecture should be flexible enough to incorporate new techniques as they become available, without the need for a complete reimplementation of the algorithm. Reyes efficiently achieves several effects that were deemed necessary for film-quality rendering: Smooth, curved surfaces; surface texturing;
motion blur Motion blur is the apparent streaking of moving objects in a photograph or a sequence of frames, such as a film or animation. It results when the image being recorded changes during the recording of a single exposure, due to rapid movement or lo ...
; and
depth of field The depth of field (DOF) is the distance between the nearest and the furthest objects that are in acceptably sharp focus in an image captured with a camera. Factors affecting depth of field For cameras that can only focus on one object dist ...
. Reyes renders curved surfaces, such as those represented by parametric patches, by dividing them into ''
micropolygon In 3D computer graphics, a micropolygon (or μ-polygon) is a polygon that is very small relative to the image being rendered. Commonly, the size of a micropolygon is close to or even less than the area of a pixel. Micropolygons allow a renderer ...
s'', small quadrilaterals each less than one pixel in size. Although many micropolygons are necessary to approximate curved surfaces accurately, they can be processed with simple,
parallelizable In mathematics, a differentiable manifold M of dimension ''n'' is called parallelizable if there exist smooth vector fields \ on the manifold, such that at every point p of M the tangent vectors \ provide a basis of the tangent space at p. Equi ...
operations. A Reyes renderer
tessellate A tessellation or tiling is the covering of a surface, often a plane, using one or more geometric shapes, called ''tiles'', with no overlaps and no gaps. In mathematics, tessellation can be generalized to higher dimensions and a variety of ...
s high-level primitives into micropolygons on demand, dividing each primitive only as finely as necessary to appear smooth in the final image. Next, a shader system assigns a color and opacity to each vertex of a micropolygon. Most Reyes renderers allow users to supply arbitrary lighting and texturing functions written in a
shading language A shading language is a graphics programming language adapted to programming shader effects (characterizing surfaces, volumes, and objects). Such language forms usually consist of special data types, like "vector", "matrix", "color" and "normal". ...
. Micropolygons are processed in large grids which allow computations to be vectorized. Shaded micropolygons are sampled in screen space to produce the output image. Reyes employs an innovative hidden-surface algorithm or ''hider'' which performs the necessary integrations for motion blur and depth of field without requiring more geometry or shading samples than an unblurred render would need. The hider accumulates micropolygon colors at each pixel across time and lens position using a
Monte Carlo method Monte Carlo methods, or Monte Carlo experiments, are a broad class of computational algorithms that rely on repeated random sampling to obtain numerical results. The underlying concept is to use randomness to solve problems that might be determi ...
called '' stochastic sampling''.


Pipeline

The basic Reyes
pipeline Pipeline may refer to: Electronics, computers and computing * Pipeline (computing), a chain of data-processing stages or a CPU optimization found on ** Instruction pipelining, a technique for implementing instruction-level parallelism within a s ...
has the following steps: # ''Bound.'' Calculate the
bounding volume In computer graphics and computational geometry, a bounding volume for a set of objects is a closed volume that completely contains the union of the objects in the set. Bounding volumes are used to improve the efficiency of geometrical operatio ...
of each geometric primitive. # ''Split.'' Split large primitives into smaller, diceable primitives. # ''Dice.'' Convert the primitive into a grid of micropolygons, each approximately the size of a pixel. # ''Shade.'' Calculate lighting and shading at each vertex of the micropolygon grid. # ''Bust'' the grid into individual micropolygons, each of which is bounded and checked for visibility. # ''Hide.'' Sample the micropolygons, producing the final 2D image. In this design, the renderer must store the entire frame buffer in memory since the final image cannot be output until all primitives have been processed. A common memory optimization introduces a step called ''bucketing'' prior to the dicing step. The output image is divided into a coarse grid of "buckets," each typically 16 by 16 pixels in size. The objects are then split roughly along the bucket boundaries and placed into buckets based on their location. Each bucket is diced and drawn individually, and the data from the previous bucket is discarded before the next bucket is processed. In this way only a frame buffer for the current bucket and the high-level descriptions of all geometric primitives must be maintained in memory. For typical scenes, this leads to a significant reduction in memory usage compared to the unmodified Reyes algorithm.


Reyes renderers

The following renderers use the Reyes algorithm in one way or the other or at least allow users to select it to produce their images: * Digits 'n Art's 3Delight
link
*
Aqsis Aqsis is a free rendering suite compliant with the RenderMan standard. It is available under the BSD, previously under GPL. Its main author and project manager is Paul Gregory. The Aqsis project consists of a renderer, shader compiler and a f ...

link
open source *
jrMan jrMan renderer is an open-source version of the Reyes rendering algorithm used by Pixar's PhotoRealistic RenderMan, implemented in Java by Gerardo Horvilleur, Jorge Vargas, Elmer Garduno and Alessandro Falappa. jrMan is available under the GNU ...

link
open source * Pixar's RenderMan Pro Server & RenderMan for Maya
link
up to version 20 (released in 2015) *
Pixels 3d Renderer In digital imaging, a pixel (abbreviated px), pel, or picture element is the smallest addressable element in a raster image, or the smallest point in an all points addressable display device. In most digital display devices, pixels are the sm ...

link
*
Pixie A pixie (also pisky, pixy, pixi, pizkie, and piskie in Cornwall and Devon, and pigsie or puggsy in the New Forest) is a mythical creature of British folklore. Pixies are considered to be particularly concentrated in the high moorland areas arou ...

link
open source * DotC Software's RenderDotC
link
* Side Effects Software's Mantra
link
* Poser's FireFly
link
* Bakery Relight
link


References

*
Robert L. Cook Robert L. Cook (December 10, 1952) is a computer graphics researcher and developer, and the co-creator of the RenderMan rendering software. His contributions are considered to be highly influential in the field of animated arts. In 2009, Cook ...
.,
Loren Carpenter Loren C. Carpenter (born February 7, 1947) is a computer graphics researcher and developer. Biography He was a co-founder and chief scientist of Pixar Animation Studios. He is the co-inventor of the Reyes rendering algorithm and is one of the ...
, and
Edwin Catmull Edwin Earl "Ed" Catmull (born March 31, 1945) is an American computer scientist who is the co-founder of Pixar and was the President of Walt Disney Animation Studios. He has been honored for his contributions to 3D computer graphics (computer sci ...
.
The Reyes Image Rendering Architecture
" ''Computer Graphics (
SIGGRAPH SIGGRAPH (Special Interest Group on Computer Graphics and Interactive Techniques) is an annual conference on computer graphics (CG) organized by the ACM SIGGRAPH, starting in 1974. The main conference is held in North America; SIGGRAPH Asia ...
'87 Proceedings)'', pp. 95–102. * Anthony A. Apodaca and Larry Gritz. ''Advanced RenderMan: Creating CGI for Motion Pictures''. Morgan Kaufmann Publishers.


External links


REYES, Primitives & Some Philosophy

Welcome to Renderman: Reyes
{{Computer graphics 3D rendering